home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1989 May
/
64er_Magazin_89-05_1989_Markt__Technik_de.d64
/
x-dir src
< prev
next >
Wrap
Text File
|
2022-10-26
|
4KB
|
502 lines
org $c000
:open = $ffc0
:close = $ffc3
:chkin = $ffc6
:chkout = $ffc9
:getin = $ffcf
:chrstr = $ffd2
:clrchn = $ffcc
:print = $ab1e
:number = $bdcd
jmp start
:type
b "del seq prg usr rel "
b "??? ??? ??? ??? ??? "
:tmsg b 13,5,"message: ",159,0
:tname b 5,"diskname:",159,0
:tid b 5," id:",159,0
:unclosed b 28+128,"* not close",0
:protect b 28+128,"* protected",0
:trse b 159,"t/s:",0
:sise b " side-s:",0
:rlen b " rlaenge:",0
:blocks b "... ",0
:startadr b " adr:",0
:newz b 13," ",0
:u1 b "u1 2 0 ",0
:bp b "b-p 2 ",0
:bp2 b "b-p 2 2",13,0
:freebl b 13,5,"free blocks on disk :",0
:typebuf b 0
:secbuf b 0
:sector b 0
:entry b 0
:nsect b 0
:llo b 0
:lhi b 0
:name2 b "#"
:name1 b "i"
:start
jsr clrchn
lda #1
jsr close
lda #2
jsr close
lda #1
ldx #<name1
ldy #>name1
jsr $ffbd
lda #1
ldx #8
ldy #15
jsr $ffba
jsr open
lda #1
ldx #<name2
ldy #>name2
jsr $ffbd
lda #2
ldx #8
ldy #2
jsr $ffba
jsr open
lda #1
sta sector
:label1
lda sector
jsr readsector
lda sector
sta secbuf
lda #0
sta entry
lda #0
jsr setpointer
jsr getin
jsr getin
sta nsect
:label2
lda #5
jsr setpointer
jsr getin
cmp #0
bne label2aa
jmp label5
:label2aa
lda #30
jsr setpointer
jsr getin
sta llo
jsr getin
sta lhi
lda #7
sta 646
ldx llo
ldy lhi
jsr hexout
lda #5
jsr setpointer
lda #15
sta sector
lda #5
jsr $ffd2
lda #'"
jsr $ffd2
:label3
jsr getin
cmp #160
beq label4
jsr $ffd2
dec sector
bpl label3
:label4
lda #'"
jsr $ffd2
:label3d
lda sector
beq realend
bmi realend
jsr getin
jsr $ffd2
dec sector
jmp label3d
:realend
lda #2
sta 646
sec
jsr $fff0
ldy #24
clc
jsr $fff0
lda #2
jsr setpointer
jsr getin
pha
and #%00000111
sta typebuf
asl
asl
tax
ldy #3
sty sector
:labeu1
lda type,x
stx 2
jsr $ffd2
ldx 2
inx
dec sector
bpl labeu1
pla
pha
and #128
cmp #128
beq labeu2
lda #<unclosed
ldy #>unclosed
jsr print
jmp labeu3
:labeu2
pla
pha
and #64
cmp #64
bne labeu3
lda #<protect
ldy #>protect
jsr print
:labeu3
pla
lda #<newz
ldy #>newz
jsr print
lda #3
jsr setpointer
jsr getin
sta llo
jsr getin
sta lhi
lda #<trse
ldy #>trse
jsr print
lda llo
jsr hot2
lda #'/
jsr $ffd2
lda lhi
jsr hot2
lda #2
lda typebuf
cmp #2
bne noprog
lda #<startadr
ldy #>startadr
jsr print
jsr clrchn
ldx #1
jsr chkout
lda #<u1
ldy #>u1
jsr print
ldx llo
lda #0
jsr number
lda #32
jsr $ffd2
ldx lhi
lda #0
jsr number
lda #13
jsr $ffd2
jsr clrchn
ldx #1
jsr chkout
lda #<bp2
ldy #>bp2
jsr print
jsr clrchn
ldx #2
jsr chkin
jsr getin
sta llo
jsr getin
sta lhi
ldx llo
ldy lhi
jsr hexout
lda secbuf
sta sector
jsr readsector
jmp norel
:noprog
cmp #4
bne norel
lda #<sise
ldy #>sise
jsr print
lda #21
jsr setpointer
jsr getin
sta llo
jsr getin
sta lhi
jsr getin
sta sector
lda llo
jsr hot2
lda #'/
jsr $ffd2
lda lhi
jsr hot2
lda #<rlen
ldy #>rlen
jsr print
lda sector
jsr hot2
:norel
lda #13
jsr $ffd2
inc entry
lda entry
cmp #8
beq label6
jmp label2
:label6
lda nsect
sta sector
cmp #255
beq label5
jmp label1
:label5
jsr readfree
jsr clrchn
lda #2
jsr close
lda #1
jsr close
rts
:readsector
sta 2
jsr clrchn
ldx #1
jsr chkout
lda #<u1
ldy #>u1
jsr print
ldx #18
lda #0
jsr number
lda #32
jsr $ffd2
ldx 2
lda #0
jsr number
lda #13
jsr $ffd2
jsr clrchn
rts
:setpointer
sta 2
jsr clrchn
ldx #1
jsr chkout
lda #<bp
ldy #>bp
jsr print
lda entry
asl
asl
asl
asl
asl
clc
adc 2
tax
lda #0
jsr number
lda #13
jsr $ffd2
jsr clrchn
ldx #2
jsr chkin
rts
:hot s 2
:hexout
stx hot
sty hot+1
lda hot+1
jsr hot2
lda hot
jsr hot2
lda #32
jmp $ffd2
:hot2
pha
lsr
lsr
lsr
lsr
jsr hot1
pla
and #15
:hot1
tax
lda hottab,x
jmp $ffd2
:hottab b"0123456789abcdef"
:readfree
jsr clrchn
lda #<freebl
ldy #>freebl
jsr print
lda #0
jsr readsector
lda #33
sta sector
lda #0
sta hot
sta hot+1
sta entry
lda #4
jsr setpointer
:bfrech
jsr getin
sta 2
jsr getin
jsr getin
jsr getin
lda hot
clc
adc 2
sta hot
lda hot+1
adc #0
sta hot+1
dec sector
bpl bfrech
ldx hot
ldy hot+1
jsr hexout
lda #32
jsr $ffd2
lda #'(
jsr $ffd2
ldx hot
lda hot+1
jsr number
lda #')
jsr $ffd2
lda #13
jsr $ffd2
lda #144
jsr setpointer
lda #<tname
ldy #>tname
jsr print
lda #15
sta sector
:tnam1
jsr getin
jsr $ffd2
dec sector
bpl tnam1
lda #<tid
ldy #>tid
jsr print
lda #162
jsr setpointer
jsr getin
jsr $ffd2
jsr getin
jsr $ffd2
jsr getin
jsr $ffd2
jsr getin
jsr $ffd2
jsr getin
jsr $ffd2
lda #<tmsg
ldy #>tmsg
jsr print
lda #$a7
sta sector
jsr setpointer
lda #1
sta 212
:tnam4
jsr getin
beq tnam5
jsr $ffd2
:tnam5
inc sector
bne tnam4
lda #13
jmp $ffd2